package com.ego.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ego.common.vo.PageVo;
import com.ego.product.po.AttrGroup;
import com.ego.product.vo.AttrGroupRelationVo;
import com.ego.product.vo.AttrGroupSearchVo;
import com.ego.product.vo.DetailVo;

import java.util.List;

/**
 * @program: ego
 * @description 属性分组服务层
 * @author KamTang
 * @date 2022-11-13 12:56:14
 */
public interface AttrGroupService extends IService<AttrGroup> {
    /**
     * 搜索
     * @param search 属性分组搜索VO
     * @return 属性分组
     */
    PageVo<AttrGroup> search(AttrGroupSearchVo search);

    /**
     * 关联删除
     *
     * @param vos 属性分组关系VO
     */
    void deleteRelations(AttrGroupRelationVo[] vos);

    /**
     * 获取spu对应的所有属性分组信息以及分组下的所有属性名和属性值
     * @param spuId spuId
     * @param categoryId 分类id
     * @return @see
     * @see DetailVo.DetailSpuAttrGroupVo
     */
    List<DetailVo.DetailSpuAttrGroupVo> withAttrsBySpuId(Long spuId, Long categoryId);
}

